embedded systems medical device software outsourcing embedded development software website design consulting linux hardware issues embedded software outsource medical device firmware upgrade pc medical firmware bpo